package com.tyk.bookstore.back.product.repository;


import com.tyk.bookstore.back.common.dal.mapper.IMapper;
import com.tyk.bookstore.back.product.model.dto.*;
import com.tyk.bookstore.back.product.model.entity.BookDo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Set;

@Mapper
public interface BookRepository extends IMapper<BookDo> {

    /**
     * 查询书籍简略信息
     */
    BookDto selectBookDtoById(@Param("id") Long id);

    /**
     * 查询书籍信息
     */
    Book4StockDto selectBook4StockDtoById(@Param("id") Long id);


    /**
     * 书籍搜索建议列表
     */
    List<BookSuggestionDto> selectBookSuggestionDtoList(@Param("nameLike") String nameLike);


    /**
     * 查询书籍信息
     */
    List<Book4StockDto> selectBook4StockDtoListByIdSet(@Param("idSet") Set<Long> idSet, @Param("limit") int limit);


    /**
     * 查询书籍信息
     */
    List<Book4CommentDto> selectBook4CommentDtoListByIdSet(@Param("idSet") Set<Long> idSet, @Param("limit") int limit);


    /**
     * 查询书籍信息
     */
    List<Book4StatisticDto> selectBook4StatisticDtoListByIdSet(@Param("idSet") Set<Long> idSet, @Param("limit") int limit);
}
